﻿// 5076. 位运算.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

using namespace std;
/*
https://www.acwing.com/problem/content/5079/

给定一个正整数 x，请你将 x的二进制表示中第 i位和第 j 位的值互换，并输出互换后的结果。

注意: x 的二进制表示的最右边为第 0位。

输入格式
共一行，包含三个整数 x,i,j。

输出格式
一个整数，表示互换后的结果。

数据范围
1≤x≤231−1
,
0≤i,j≤30
。

输入样例1：
38 2 4
输出样例1：
50
输入样例2：
1 0 2
输出样例2：
4
*/
int main()
{
	int n, a, b;
	cin >> n >> a >> b;

	int l = n >> a&1;
	int r = n >> b&1;

	if (l && !r) n = n - (1 << a) + (1 << b);
	if (!l && r) n = n - (1 << b) + (1 << a);
 
	cout << n << endl;
	return 0;
}

 